package generate

import (
	"fmt"
	"math/rand"
	"strconv"
	"time"
)

// GenerateUniqueCode 生成唯一id
func GenerateUniqueCode() string {
	// 获取当前时间戳的毫秒数
	currentMillis := time.Now().UnixNano() / 1e6
	// 转换为字符串并取后8位
	timeStr := strconv.FormatInt(currentMillis, 10)
	timeStr = timeStr[len(timeStr)-8:]

	// 生成一个8位的随机数
	rand.Seed(time.Now().UnixNano())
	randomNum := rand.Intn(100000000)           // 生成一个0到99999999之间的随机数
	randomStr := fmt.Sprintf("%08d", randomNum) // 格式化为8位字符串

	// 将时间字符串和随机字符串拼接起来
	uniqueCode := timeStr + randomStr
	return uniqueCode
}
